Next: VAX Options, Previous: TILEPro Options, Up: Submodel Options [Contents][Index]

#### 3.17.45 V850 Options

These ‘`-m`’ options are defined for V850 implementations:

`-mlong-calls`
`-mno-long-calls`

  Treat all calls as being far away (near). If calls are assumed to be far away, the compiler will always load the functions address up into a register, and call indirect through the pointer.

`-mno-ep`
`-mep`

  Do not optimize (do optimize) basic blocks that use the same index pointer 4 or more times to copy pointer into the `ep` register, and use the shorter `sld` and `sst` instructions. The `-mep` option is on by default if you optimize.

`-mno-prolog-function`
`-mprolog-function`

  Do not use (do use) external functions to save and restore registers at the prologue and epilogue of a function. The external functions are slower, but use less code space if more than one function saves the same number of registers. The `-mprolog-function` option is on by default if you optimize.

`-mspace`

  Try to make the code as small as possible. At present, this just turns on the `-mep` and `-mprolog-function` options.

`-mtda=n`

  Put static or global variables whose size is n bytes or less into the tiny data area that register `ep` points to. The tiny data area can hold up to 256 bytes in total (128 bytes for byte references).

`-msda=n`

  Put static or global variables whose size is n bytes or less into the small data area that register `gp` points to. The small data area can hold up to 64 kilobytes.

`-mzda=n`

  Put static or global variables whose size is n bytes or less into the first 32 kilobytes of memory.

`-mv850`

  Specify that the target processor is the V850.

`-mbig-switch`

  Generate code suitable for big switch tables. Use this option only if the assembler/linker complain about out of range branches within a switch table.

`-mapp-regs`

  This option will cause r2 and r5 to be used in the code generated by the compiler. This setting is the default.

`-mno-app-regs`

  This option will cause r2 and r5 to be treated as fixed registers.

`-mv850e2v3`

  Specify that the target processor is the V850E2V3. The preprocessor constants ‘`__v850e2v3__`’ will be defined if this option is used.

`-mv850e2`

  Specify that the target processor is the V850E2. The preprocessor constants ‘`__v850e2__`’ will be defined if this option is used.

`-mv850e1`

  Specify that the target processor is the V850E1. The preprocessor constants ‘`__v850e1__`’ and ‘`__v850e__`’ will be defined if this option is used.

`-mv850es`

  Specify that the target processor is the V850ES. This is an alias for the `-mv850e1` option.

`-mv850e`

  Specify that the target processor is the V850E. The preprocessor constant ‘`__v850e__`’ will be defined if this option is used.

  If neither `-mv850` nor `-mv850e` nor `-mv850e1` nor `-mv850e2` nor `-mv850e2v3` are defined then a default target processor will be chosen and the relevant ‘`__v850*__`’ preprocessor constant will be defined.

  The preprocessor constants ‘`__v850`’ and ‘`__v851__`’ are always defined, regardless of which processor variant is the target.

`-mdisable-callt`

  This option will suppress generation of the CALLT instruction for the v850e, v850e1, v850e2 and v850e2v3 flavors of the v850 architecture. The default is `-mno-disable-callt` which allows the CALLT instruction to be used.

Next: VAX Options, Previous: TILEPro Options, Up: Submodel Options [Contents][Index]